package com.amoscloud;

import java.util.List;
import java.util.Map;
import java.util.Scanner;
import java.util.TreeMap;
import java.util.stream.Collectors;

/**
 /*
 给定一个字符串
 只包含大写字母
 求在包含同一字母的子串中
 长度第K长的子串
 相同字母只取最长的子串

 输入
 第一行 一个子串 1<len<=100
 只包含大写字母
 第二行为k的值
 输出
 输出连续出现次数第k多的字母的次数

 例子：
 输入
 AABAAA
 2
 输出
 1
 同一字母连续出现最多的A 3次
 第二多2次  但A出现连续3次

 输入
 AAAAHHHBBCDHHHH
 3
 输出
 2
 //如果子串中只包含同一字母的子串数小于k
 则输出-1


 */

public class Test017 {

    public static void main(String[] args) {
        try(Scanner scanner = new Scanner(System.in);){
            String str = scanner.nextLine();
            int k = scanner.nextInt();
            System.out.println(solution(str, k));
        }

    }

    public static int solution(String str,int k){
        TreeMap<Character, Integer> map = new TreeMap();
        char[] charArray = str.toCharArray();
        for (char c : charArray) {
            map.put(c,map.getOrDefault(c,0)+1);
        }
        List<Map.Entry<Character, Integer>> collect = map.entrySet().stream().sorted((e1, e2) -> e2.getKey() - e1.getKey()).collect(Collectors.toList());
        if (collect.size()>=k){
            return collect.get(k).getValue();
        }
        return -1;
    }
    
}
